// 引入http核心模块
var http = require('http')
// filesystem
var fs = require('fs')

// 创建一个服务
var server = http.createServer()
// 绑定一个监听事件
server.on('request', function (res, re) {
  // console.log(res)
  // res中存在的是当前操作的时候存在的所有数据
  // re则可进行接下来的操作
  var urls = res.url
  console.log(urls)
  if (urls === '/') {
    re.setHeader('Content-type', 'text/html;charset=utf-8')
    // 请求一个完整文件
    fs.readFile('./test.html', 'utf8', function (err, data) {
      if (!err) {
        re.end(data)
      }
    })
  } else {
    // 相应一切HTML的静态请求
    fs.readFile('.' + urls, '', function (err, data) {
      if (!err) {
        re.end(data)
      }
    })
  }

  // re.write('你好啊，欢迎来到node的世界')
  // 当end中添加第一个参数的时候，相当于先调用了re.write然后再继续执行
  // re.end('<h1>hello world</h1>');
})

// 创建一个服务器
server.listen(8080, function () {
  console.log('服务器已启用，请访问127.0.0.1:8080进行查看')
})

// 在这里我理解一下事件对象，就是在一个方法莫名出现的（下图的那个 e） 它储存的是当前操作此事件的所有信息（还是需要进一步的理解）
// function f (e) {
//
// }